package es.ugr.beequizz.services.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import es.ugr.beequizz.bean.IncluirRespuestaBean;
import es.ugr.beequizz.bean.RespuestaBean;
import es.ugr.beequizz.bean.ValidacionBean;
import es.ugr.beequizz.dao.RespuestaDAO;
import es.ugr.beequizz.model.Respuesta;
import es.ugr.beequizz.services.RespuestaService;

@Service
public class RespuestaServiceImpl  implements RespuestaService {
	
	@Autowired 
	private RespuestaDAO respuestaDAO;
	
	
	public void incluirRespuesta(List<IncluirRespuestaBean> listaRespuesta){
		
		
	for(IncluirRespuestaBean respuesta : listaRespuesta){
		
		respuestaDAO.incluirRespuesta(respuesta); 
				
		}

    }
	
	public List<Respuesta> recuperarRespuestas(Long preguntaId){
		
		return respuestaDAO.recuperarRespuestas(preguntaId);
		
	}

	public void suprimirRespuesta(Long id) {
		
		respuestaDAO.suprimirRespuesta(id);
		
	}

	public void suprimirRespuestaIdPregunta(Long id) {
		
		respuestaDAO.suprimirRespuestaIdPregunta(id);
		
	}

	public List<Respuesta> recuperarContenidoRespuestas(int numRespuestasOK,
			 int numRespuestasKO,Long preguntaId) {
		
		return respuestaDAO.recuperarContenidoRespuestas(numRespuestasOK, numRespuestasKO,preguntaId);
	}

	public boolean validarRespuesta(Long respuestaId) {
		
		return respuestaDAO.validarRespuesta(respuestaId);
	}

	public void guardarRespuestaPartida(Long partidaId, Long usuarioId,
			Long preguntaId, Long respuestaId) {
		
		respuestaDAO.guardarRespuestaPartida(partidaId, usuarioId, preguntaId, respuestaId);
		
	}

	public RespuestaBean recuperarRespuesta(Long respuestaId) {
		return respuestaDAO.recuperarRespuesta(respuestaId);
	}

	public void modificarRespuesta(RespuestaBean respuestaBean) {
		respuestaDAO.modificarRespuesta(respuestaBean);
	}

	@Transactional
	public void validacionRespuesta(List<ValidacionBean> beans) {
		for (ValidacionBean bean : beans) {
			respuestaDAO.validacionRespuesta(bean);
		}
	}
	
	
	
}

